//
//  LKRequestErrorCode.h
//  Live
//
//  Created by 唐开福 on 2017/9/6.
//  Copyright © 2017年 LaKa. All rights reserved.
//
//

// 这个文件是专门用来存放网络异常相关的

// LKNetworkConnectErrorCode : 对应的是网络问题，或者是服务器返回的数据异常导致的，不是逻辑上错误码
// LKJsonStatusCode: 对应的是直播接口的错误码
// LKRequestErrorType : 对应的是商城的错误码

typedef NS_ENUM(NSInteger, LKNetworkConnectErrorCode) {
    
    LK_NETWORK_ERROR_DEFAULT                        = -101, // 网络异常
    LK_NETWORK_ERROR_USER_CANCEL                    = -7, // 用户取消请求
    LK_NETWORK_ERROR_REQUEST_TIMEOUT                = -6, // 请求超时
    LK_NETWORK_ERROR_NOT_NETWORK                    = -5, // 无网络
    LK_NETWORK_ERROR_DATA_INVALID                   = -4, // 返回数据异常
    LK_NETWORK_ERROR_CONNECT_ERROR                  = -3, // 连接错误
    LK_NETWORK_ERROR_RETURN_DATA_NULL               = -2, // 返回空数据
};


typedef NS_ENUM(NSInteger, LKJsonStatusCode) {
    
    LK_E_USER_CANCEL                    = -7, // 用户取消请求
    LK_E_REQUEST_TIMEOUT                = -6, // 请求超时
    LK_E_NOT_NETWORK                    = -5, // 无网络
    LK_E_DATA_INVALID                   = -4, // 返回数据异常
    LK_E_ConnectionError                = -3, // 连接错误
    LK_E_ReturnDataNull                 = -2, // 返回空数据
    
    LK_E_OK                             = 0,  //正常响应
    LK_E_FAIL_GET_DATA                  = 100,//获取数据失败
    LK_E_INVALID_PARAM                  = 101,//非法参数
    LK_ERROR_USER_NO_EXIT                                  = 102, // 用户不存在
    LK_ERROR_USER_NOT_LOGIN                                = 103, // 用户未登录
    LK_E_SEVER_BUSY                     = 104,//服务器繁忙，请稍后再试
    LK_ERROR_TOEKN_EXPIRE                                  = 105, // 用户token过期
    LK_ERROR_WRONG_USER_TOEKN                              = 106, // 错误的用户token
    LK_ERROR_GET_WECHAT_ACCESS_TOKEN_FAILED                = 111, // 获取微信access token失败
    LK_ERROR_GET_WEIBO_ACCESS_TOKEN_FAILED                 = 112, // 获取微博access token失败
    LK_ERROR_GET_QQ_ACCESS_TOKEN_FAILED                    = 113, // 获取QQaccess token失败
    LK_E_GOODS_NOT_EXSIT                = 200,//商品不存在
    LK_E_GOODS_NOT_ENOUGH               = 201,//商品库存不足
    LK_E_INVALID_GOODS                  = 202,//商品已失效
    
    LK_E_ORDER_NOT_EXIST                = 300,//订单信息不存在
};

typedef NS_ENUM(NSInteger, LKRequestErrorType) {
    
    TLV_E_USER_CANCEL                    = -7, // 用户取消请求
    TLV_E_REQUEST_TIMEOUT                = -6, // 请求超时
    TLV_E_NOT_NETWORK                    = -5, // 无网络
    TLV_E_DATA_INVALID                   = -4, // 返回数据异常
    TLV_E_ConnectionError                = -3, // 连接错误
    TLV_E_ReturnDataNull                 = -2, // 返回空数据
    
    
    TLV_PARAM_ERROR                                         = -1,// 请求参数错误
    TLV_OK                                                  = 0,// 成功
    TLV_INVALID_PHONE_NUMBER                                = 1,// 错误的手机号
    TLV_REDIS_CONNECT_FAILED                                = 2,// redis连接失败
    TLV_GET_PVC_TOO_FREQUENT                                = 3,// 获取手机验证码太过频繁
    TLV_USER_NOT_LOGIN                                      = 4,//用户未登录
    TLV_WRONG_USER_TOEKN                                    = 5,// 错误的用户token
    TLV_MYSQL_CONNECT_FAILED                                = 6,// MySQL连接失败
    TLV_MYSQL_QUERY_FAILED                                  = 7,// MySQL查询失败, 校验苹果支付重复也会返回这个错误码
    TLV_WRONG_PHONE_NUMBER_OR_WRONG_PHONE_VERIFICATION_CODE = 8,// 错误的手机号或者错误的手
    TLV_GET_WECHAT_ACCESS_TOKEN_FAILED                      = 9,// 获取微信access token失
    TLV_QCLOUD_SIGN_FAILED                                  = 10,// 获取腾讯云视频签名失败
    TLV_SEND_PVC_FAILED                                     = 11,// 发送手机验证码失败
    TLV_PRODUCT_NOT_EXIST                                   = 12,// 商品不存在
    TLV_USER_NOT_EXIST                                      = 13,// 用户不存在
    TLV_EMPTY_SEARCH_KEYWORD                                = 14,// 空的搜索关键字
    TLV_INVALID_PARAMETER                                   = 15,// 错误的参数
    TLV_GET_WEIBO_ACCESS_TOKEN_FAILED                       = 16,// 获取微博access token失败
    TLV_GET_QQ_ACCESS_TOKEN_FAILED                          = 17,// 获取qq登录access
    TLV_NOT_OP_ONESELF                                      = 18,// 不能对自己进行操作
    TLV_OP_DUP                                              = 19,// 重复操作
    TLV_USER_TOKEN_EXPIRE                                   = 20,// 用户token过期，过期时间
    TLV_USER_WITHDRAW_PHONE_EXIST                           = 21,// 用户已经绑定过提现手机号
    TLV_GET_WECHAT_PAY_FAILED                               = 22,// 调用微信支付失败
    TLV_USER_WITHDRAW_WECHAT_EXIST                          = 23,// 用户已经绑定过提现微信号
    TLV_USER_WITHDRAW_WECHAT_NOT_EXIST                      = 24,// 用户未绑定提现微信
    TLV_VERIFY_APPLE_PAY_FAILED                             = 25,// 苹果支付验证失败
    TLV_E_FORBIDEN_LIVE                                     = 30,//已被禁播
    TLV_CASH_WITHDRAWAL_OUT_LIMIT                           = 1000,// 微信取现，超过提现每天限额
    TLV_CASH_WITHDRAWAL_NOT_ENOUGH                          = 1001,// 微信取现，可提现金额不够
    TLV_CASH_WITHDRAWAL_NUM_END                             = 1002,// 微信取现，今天已提现次数已用完
    TLV_COURSE_BUY_YET                                      = 1300,// 课程已经购买过
    TLV_COINS_NOT_ENOUGH                                    = 1301,//购买者余额不足
    
    TLV_CHANNEL_CREATE_WRONG                                = 1035, //无法创建channel，也就是有未结束的直播
    
    TLV_OPEN_LIVE_TIME_NOT_YET                              = 1302, //开启直播错误-未到开播时间
    TLV_OPEN_LIVE_OVER                                      = 1303, //开启直播错误-直播已结束
    TLV_OPEN_LIVE_CANCEL                                    = 1304, //开启直播错误-课程已取消
    TLV_OPEN_LIVE_OVERTIME                                  = 1305, //开启直播错误-课程已取消
    TLV_OPEN_LIVE_VIDEO                                     = 1306, //开启直播错误-视频课程不能开启直播
    
    TLV_INVALID_PARAMETER_NOT_MATCH                         = 1500,// 错误的参数，传入的token跟user_id不对应
    TLV_INVALID_PARAMETER_CASH                              = 1501,// 错误的参数，缺少cash参数或cash参数错误
    TLV_INVALID_PARAMETER_FIELDS                            = 1502,// 错误的参数，缺少fields参数或fields参数错误
    TLV_INVALID_PARAMETER_CASH_WITHDRAWAL_COINS_NOT_INT     = 15000 ,// 错误的参数，微信取现，钱换算成金币不是整数
    TLV_APP_OTHER_ERROR                                     = 100000 ,//用于app内部的错误
};

